#pragma once


#include <stdint.h>
#include "base/core/singleton.h"
#include "Common/TableExDefine.h"
#include "Common/TableDefine.h"




class ReduceCfg : public ManualSingleton <ReduceCfg>
{
	friend class ManualSingleton <ReduceCfg>;
	// LvSub - ReduceReduceCfgInfo*
	typedef map<int32_t, ReduceReduceCfgInfo*> ReduceCfgMap;
public:
	ReduceCfg();
	~ReduceCfg();
	bool Init();
	void UnInit();
	void GetReduceRate(int32_t diffLev, int32_t &itemReduce, int32_t &goldReduce);
private:
	bool Process();
private:
	ReduceCfgMap m_mapReduceCfg;
};



#define  g_MakeReduceCfgMgr() (ReduceCfg::Instance())
#define  g_GetReduceCfgMgr()  (ReduceCfg::GetInstance())
#define  g_DelReduceCfgMgr()  (ReduceCfg::Destroy())